信息处理装置、日志分析方法及程序【掌桥专利】

您所在的位置:网站首页 Systemtap 下载 信息处理装置、日志分析方法及程序【掌桥专利】

信息处理装置、日志分析方法及程序【掌桥专利】

2023-04-17 10:52| 来源: 网络整理| 查看: 265

技术领域

本发明涉及信息处理装置、日志(log)分析方法及程序。

背景技术

在即将普及的互联汽车((connected car)与外部网络连接的车辆)中,期望便利性得到改善,例如可藉由无线方式执行先前需要在经销商处进行的ECU(ElectronicControl Unit)的软件升级等这样的工作。

另一方面,也指出了由于车辆及其控制设备连接至外部网络,所以与现有的IT设备同样地,这样的车辆及其控制设备也可能成为来自恶意攻击者的网络攻击(服务器攻击)的目标。此外还有研究指出,通过从外部网络进行访问,可非法篡改实际安装在车辆上的控制器,并可从控制器向ECU发出假指令,由此对车辆的控制进行接管(例如,非专利文件1)。

为了检测对车辆的网络攻击,已经研究和探讨了用于对车辆的控制信息网络即CAN(Controller Area Network)的异常进行检测的IDS(Intrusion Detection System)(例如,非专利文件2、3)。

[引证文件]

[非专利文件]

[非专利文件1]Sen Nie他,“FREE-FALL:HACKING TESLA FROM WIRELESS TO CANBUS”,BlackHat,2017,[online],因特网<URL:https://www.blackhat.com/docs/us-17/thursday/us-17-Nie-Free-Fall-Hacking-Tesla-From-Wireless-To-CAN-Bus-wp.pdf>

[非专利文件2]大塚敏史他,“既存EUCを変更不要な車載LAN向け侵入検知手法”,情報処理学会研究報告,Vol.2013-EMB-28No.6,pp.31-35,2013年

[非专利文件3]岡野靖他,“Variance Gamma分布およびDouble Gamma分布を用いたコントロールエリアネットワークに対するメッセージ挿入攻撃的異常検知”,SCIS 2018,2018年

发明内容

[要解决的技术问题]

尽管已经研究和探讨了当发生针对车辆的网络攻击时IDS对异常的检测,但是难以分析异常是如何引起的。

非专利文献1的网络攻击的例子中,首先,车载Web浏览器访问假网站并下载恶意代码。然后,由恶意代码下载伪造的控制器更新软件,以对车辆的控制器的软件进行更新。据此,可从控制器向ECU发出假指令。该例子中,在下载伪造的控制器更新软件的前后,攻击路径被暂时切断。这样,对车辆进行网络攻击时,从发生网络攻击到异常的检测为止的攻击路径可能是不连续的。尽管当向ECU发出了假指令时IDS可检测到异常,但是由于异常不仅存在于该ECU中,而且还存在于至车载Web浏览器为止的攻击路径中,所以难以对至异常的根本原因即恶意代码的下载为止的攻击路径进行确定。

需要说明的是,上述问题并不限于车辆,可被认为是连接至网络的各种设备中存在的普遍性问题。例如,IoT(Internet of Things)设备可作为客户端设备而进行工作,所以与针对车辆的网络攻击同样地,也存在进行异常检测之前攻击已经发生且攻击路径不连续的可能性。为此,在连接至网络的设备中,需要有效地分析攻击路径等的影响范围。此外,还期望不仅在进行异常检测时,而且在怀疑有外部攻击时,也能够对其影响范围进行有效的分析。

本发明是鉴于上述问题而提出的,其目的在于有效地分析设备中所指定的事件的影响范围。

[技术方案]

因此,为了解决上述问题,信息处理装置具有:生成部,根据从设备获取到的日志生成图结构(graph structure),该图结构表示进程(process)和与该进程相关的对象(object)之间的关联(association);及确定部,在所述设备的任一个对象被指定了的情况下,根据所生成的所述图结构,确定与被指定的该对象相关的进程,并确定与被确定了的该进程相关的对象。

[有益效果]

能够有效地分析设备中所指定的事件的影响范围。

附图说明

[图1]本发明的实施方式中的系统构成例的示意图。

[图2]本发明的实施方式中的监视服务器10的硬件构成例的示意图。

[图3]本发明的实施方式中的车辆20的硬件构成例的示意图。

[图4A]对本发明的实施例1中的车辆20和监视服务器10的功能构成例进行表示的图。

[图4B]本发明的实施例1中的车辆20的功能构成例的示意图。

[图5A]本发明的实施例2中的车辆20和监视服务器10的功能构成例的示意图。

[图5B]本发明的实施例3中的车辆20和监视服务器10的功能构成例的示意图。

[图6]用于对日志生成时的处理步骤的一例进行说明的流程图。

[图7A]对正常时所执行的处理的一例进行表示的时序图。

[图7B]对正常时所执行的处理的一例进行表示的时序图。

[图8]在图7A和图7B的时序中由监视部251获取的日志的一例的示意图。

[图9A]对发生外部攻击时所执行的处理的一例进行表示的时序图。

[图9B]对发生外部攻击时所执行的处理的一例进行表示的时序图。

[图10]在图9A和图9B的时序中由监视部251获取的日志的一例的示意图。

[图11]图结构的一例的示意图。

[图12]捆绑信息的一例的示意图。

[图13]图结构的结合例的示意图。

[图14A]正常时的图结构的示意图。

[图14B]发生外部攻击时的图结构的示意图。

[图15]对发生故障时所执行的处理的一例进行表示的时序图。

[图16]在图15的时序中由监视部251获取的日志的一例的示意图。

[图17A]常规故障时的图结构的示意图。

[图17B]发生外部攻击时的图结构的示意图。

具体实施方式

下面基于附图对本发明的实施方式进行说明。图1是本发明的实施方式中的系统构成例的示意图。图1中,多个(plural)车辆20是经由互联网等的网络N1与各种服务器(监视服务器10、服务提供服务器30a、服务提供服务器30b等)连接的汽车(互联汽车)。例如,各车辆20经由移动通信网络等的无线网络与网络N1连接,并与各种服务器进行通讯。

服务提供服务器30a、服务提供服务器30b等(在不对其进行区分的情况下也将其统称为“服务提供服务器30”)是向车辆20提供预定服务或基于从车辆20收集的信息向车辆20提供预定服务的一台以上的计算机。例如,服务提供服务器30a可提供远程信息处理业务(telematics service)。另外,服务提供服务器30b可提供基于从各车辆20收集的数据的服务。

监视服务器10是根据从车辆20发送(上传)来的数据进行车辆20的异常的发生的检测、异常的内容的解析等的一台以上的计算机。作为异常的一例,可列举出对车辆20经由网络进行的网络攻击(外部攻击)等。

图2是本发明的实施方式中的监视服务器10的硬件构成例的示意图。图2中,监视服务器10具有分别藉由总线B而相互连接的驱动装置100、辅助存储装置102、存储(memory)装置103、CPU104、接口装置105等。

用于实现监视服务器10中的处理的程序由CD-ROM等的存储介质101提供。存储有程序的存储介质101被放入驱动装置100后,程序可从存储介质101经由驱动装置100而被安装(install)至辅助存储装置102。需要说明的是,程序的安装不必非得从存储介质101进行,也可采用经由网络从其它计算机下载的方式进行。辅助存储装置102对所安装的程序进行保存,并且还对所需的文件、数据等进行保存。

在具有(接收到)程序的启动指示的情况下,存储装置103从辅助存储装置102读取程序并对其进行保存。CPU104根据存储装置103中保存的程序执行与监视服务器10相关的功能。接口装置105是用于与网络进行连接的接口。

图3是本发明的实施方式中的车辆20的硬件构成例的示意图。图3中,车辆20包含通信装置210、信息类子系统220、控制类子系统230、网关(gateway)240等。

通信装置210包含用于与网络N1连接的通信模块、用于与其它车辆20或道路上的设备等进行通信的通信模块、用于与智能手机等经由无线LAN或近距离无线通信进行连接的通信模块等。

信息类子系统220是对基于所安装的程序的信息处理进行执行的部分,包括CPU221、存储装置222、辅助存储装置223、显示装置224、输入装置225等。辅助存储装置223中可存储所安装的程序、由该程序使用的各种数据等。存储装置222从辅助存储装置223读取作为启动对象(目标)的程序并对其进行保存。CPU221根据存储装置222中保存的程序执行与信息类子系统220相关的功能。显示装置224对基于程序的GUI(Graphical UserInterface)等进行显示。输入装置225是按钮等或触屏等的操作部件,用于输入各种各样的操作指示。需要说明的是,例如,汽车导航系统、汽车音响主机等的车载设备是信息类子系统220的一例。

控制类子系统230是对车辆20的举动(behavior)进行控制的部分,包括用于进行各种控制的多个微机(微型计算机)231等。例如,诸如CAN(Controller Area Network)的非IP协议可应用于控制系子系统230。需要说明的是,例如ECU(Electronic Control Unit)是微机231的一例。

网关240是用于与信息类子系统220和控制类子系统230进行连接的网间连接器(例如,CGW(Central Gateway))。网关240可进行信息类子系统220的网络和控制系子系统230的网络之间的通信的中继(Relay)。出于通信过滤的原因,存在仅对充分和必要的通信进行中继(信号中继)的情况,网关240可起到对信息类子系统220和控制系子系统230在硬件和软件方面进行适当分离(隔离)的作用。

需要说明的是,图3所示的硬件结构仅为一例。只要可实现下述的功能,对车辆20的硬件结构并无特定限定。

(实施例1)

本发明的实施例1中,对用于获取从作为监视对象的装置输出的日志进而对与所指定的事件有关的一连串的动作进行掌握的手段进行说明。

图4A是本发明的实施例1中的车辆20和监视服务器10的功能构成例的示意图。图4A中,车辆20的信息类子系统220具有监视部251、日志发送部253等。这些部件中的每一个都可通过信息类子系统220中安装的一个以上的程序使CPU221执行的处理而实现。信息类子系统220还具有日志管理DB271等的数据库(存储部)。该数据库(存储部)例如可通过使用存储装置222、辅助存储装置223等来实现,并可设置于存储装置222、辅助存储装置223等的存储保护区域。

监视部251从作为监视对象的装置(例如,信息类子系统220、控制系子系统230的微机231、网关240等)获取日志。监视部251获取日志的时机(timing)可为一定的周期或特定事件的发生等,例如,可为异常检测装置(车辆20内的IDS等)检测到异常的时点,也可为监视部251的执行触发被手动或其它装置输入的时点。例如,监视部251可在获取日志的时点获取与信息类子系统220的CPU221上执行的进程、控制系子系统230的微机231上执行的进程及网关240上执行的进程有关的日志。取决于装置及其内部的进程,并不是总是能输出所需的日志,但监视部251可利用系统命令等来获取日志。例如,在作为监视对象的装置是基于Linux(注册商标)的系统的情况下,可利用SystemTap获取内核的行为(behavior)。另外,例如,在作为监视对象的装置是基于BSD的系统的情况下,可利用DTrace获取进程的动向。日志包括作为监视对象的装置、该装置上执行的进程、与该进程相关的对象、该进程针对对象所执行的动作等的项目。对象是指进程的控制对象,例如,文件、通信地址、进程(子进程)、装置等。动作是针对对象的操作。例如,在对象为文件的情况下,动作为生成、删除、更新、读取等。需要说明的是,监视部251也可收集在CPU221上所执行的应用的日志,并按照上述项目对收集到的日志进行加工。

由监视部251获取的日志保存在日志管理DB271内。日志管理DB271中,可进行为了安全起见的签名或加密。考虑到从外部攻击的发生至异常的检测为止的时间,可在日志管理DB271内对所需期间的日志进行保持。为了节约日志管理DB271的资源,还可将不再需要保持的日志从日志管理DB271中删除。例如,当对车辆20中某固件的文件进行了更新后,可将该文件所对应的当前日志之前的日志删除。

当向监视服务器10进行发送的发送时间到来时,日志发送部253可将日志管理DB271中保存的日志发送给监视服务器10。

另一方面,监视服务器10具有日志接收部151、图结构生成部152、追踪部153等。这些部件中的每一个都可藉由监视服务器10中安装的一个以上的程序使CPU104执行的处理而实现。监视服务器10还可利用日志管理DB171、图管理DB172、捆绑信息DB173等的数据库(存储部)。这些数据库(存储部)中的每一个例如都可通过使用辅助存储装置102或能够经由网络与监视服务器10连接的存储装置等来实现,并可设置于辅助存储装置102或能够经由网络连接的存储装置等的存储保护区域。

日志接收部151接收从车辆20发送(上传)的日志,并将该日志存储于日志管理DB171。日志管理DB171中可进行为了安全起见的签名或加密。监视服务器10中也同样,考虑到从外部攻击的发生到异常的检测为止的时间,可在日志管理DB171内对所需期间的日志进行保持。为了节约日志管理DB171的资源,还可将不再需要保持的日志从日志管理DB171中删除。例如,在对车辆20中某固件的文件进行了更新的情况下,可将该文件所涉及的当前日志之前的日志删除。

图结构生成部152根据日志管理DB171中存储的日志来生成表示进程和对象之间的关联的图结构。图结构可使用基于有向无环图、二部图等的图论的生成算法。所生成的图结构保存在图管理DB172内。图管理DB172中也可进行为了安全起见的签名或加密。为了节约图管理DB172的资源,图结构可使用LOUDS(Level-Order Unary Degree Sequence)等的简洁数据构造而被保存在图管理DB172内。为了节约图管理DB172的资源,还可将不再需要保持的图结构从图管理DB172中删除。例如,在将不再需要保持的日志从日志管理DB171中删除的情况下,与所删除的日志相关联的图结构也可从图管理DB172中被删除。

取决于作为监视对象的装置,也存在日志的一部分项目不足,导致无法生成图结构的情况。例如,在对象为文件的情况下,存在不能确定该文件是与哪个装置的进程相关连的情况。另外,也存在无法获取日志本身的情况。例如,存在尽管进行了CAN通信但却无法获得通信对象的ECU的日志的情况。在这样的情况下,可预先在捆绑信息DB273中将对象和进程之间的关联作为捆绑信息而进行管理。在文件的例子中,文件和使用该文件的进程之间的关联可预先在捆绑信息DB273中被进行管理。在CAN通信的例子中,与CAN通信相关的对象和作为该CAN通信的通信对象的ECU的进程之间的关联可预先在捆绑信息DB273中被进行管理。图结构生成部152通过使用捆绑信息DB273中保存的捆绑信息可将图结构的关联补全。

追踪部153使用图管理DB172内保存的图结构对与所指定的对象等相关的进程进行确定,进而对与所确定的进程相关的对象进行确定。就追踪部153确定进程和对象的时机(timing)而言,可为异常检测装置(车辆20内的IDS等)检测到异常的时点,也可为藉由手动或其它装置输入了追踪部153的执行触发的时点。例如,在检测到车辆20内的IDS中的某微机231发生了异常的情况下,追踪部153对与该微机231相关的异常进程进行确定,然后再对与所确定的异常进程相关的对象进行确定。需要说明的是,即使在异常没有被检测到的状态下也可对可疑的进程和对象进行确定,所以基于手动或其它装置的执行触发也可在与异常的检测不同的时点来进行。这样,追踪部153就可确定与所指定的事件(也包括异常的检测,对外部攻击的怀疑等)相关的进程和对象,并可排除与所指定的事件不相关的进程和对象,由此可对所指定的事件的影响范围进行确定。另外,还可提供用于对至所指定的事件的发生为止的路径进行搜索的信息。

图4A示出了监视服务器10包含图结构生成部152、追踪部153等的各部件的例子,但这些功能部的一部分或全部也可不包含在车辆20内。

图4B是本发明的实施例1中的车辆20的功能构成例的示意图。图4B中,图结构生成部254和追踪部255的各部件包含在车辆20内,图管理DB272和捆绑信息DB273的各数据库也包含在车辆20内。图结构生成部254和追踪部255所执行的处理与图4A中的图结构生成部152和追踪部153相同。需要说明的是,也可为图结构生成部包含在车辆20内但追踪部包含在监视服务器内的构成。另外,监视部也可包含在监视服务器10中。

(实施例2)

本发明的实施例2中,对用于进行外部攻击的判定的手段进行说明。

图5A是本发明的实施例2中的车辆20和监视服务器10的功能构成例的示意图。图5A中,车辆20的信息类子系统220除了图4A所示的监视部251和日志发送部253之外还可具有异常判定部252。异常判定部252可由车辆20的IDS等实现。异常判定部252也可通过信息类子系统220中安装的一个以上的程序使CPU221执行的处理而实现。

车辆20中的监视部251和日志发送部253的处理与实施例1中的监视部251和日志发送部253的处理相同。

异常判定部252根据监视部251所获取的日志对异常的有无进行判定。例如,可根据微机231间的通信间隔、从微机231输出的数据值等进行异常的有无的判定。另外,例如也可藉由将监视部251所获取的日志输入到通过将日志作为输入且将异常度作为输出的训练后的模型(例如,神经网络)来对异常的有无进行判定。

监视服务器10中的日志接收部151和图结构生成部152的处理与实施例1中的日志接收部151和图结构生成部152的处理相同。

追踪部153使用图管理DB172中保存的图结构对与所指定的对象等相关的进程进行确定,进而对与所确定的进程相关的对象进行确定。例如,在车辆20内的IDS或异常判定部252等中的某微机231被检测出异常的情况下,追踪部153可对与该微机231相关的异常进程进行确定,然后再对与所确定的异常进程相关的对象进行确定。这样,追踪部153就可对与异常相关的进程和对象进行确定,并可将与异常不相关的进程和对象排除在外,所以可对异常的影响范围进行确定。另外,还可提供用于对至异常的发生为止的路径进行搜索的信息。

异常的检测中,存在将外部攻击和故障都检测为异常的可能性。基本上来说,大部分的外部攻击都具有外部起点,而大部分的故障则不存在外部起点,通过利用该经验法则,追踪部153在藉由跟踪图结构发现具有外部起点时,即,用于与车辆20的外部连接的通信装置210进行了参与时,可判断为存在外部攻击的可能性。需要说明的是,在由于经销商等访问通信装置210而引起的检测到了异常的情况下,则判断为不存在外部攻击的可能性,所以追踪部153可通过参照针对外部起点的通信地址而事先设定的黑名单或白名单来判断是否存在外部攻击的可能性。

另外,追踪部153可对在没有外部攻击的环境下而生成的正常时的图结构和在存在外部攻击的可能性的环境下而生成的图结构进行比较,藉此来检测外部攻击的发生。此外,追踪部153可参照没有发生外部攻击的故障时或正常时的图结构,由此,当发生了该图结构中不可能存在的路径时,判断为具有外部攻击的可能性。另外,追踪部153可与表示由规格等所规定的路径的图结构进行比较,据此,当放生了该图结构中不可能存在的路径时,判断为具有外部攻击的可能性。此外,追踪部153可与表示出于规格或安全上的原因而不可能存在的路径的图结构进行比较,藉此,当发生了与该图结构一致的路径时,判断具有外部攻击的可能性。

需要说明的是,图5A示出了车辆20包含异常判定部252的例子,但异常判定部252也可包含在监视服务器10内。

(实施例3)

本发明的实施例3中,对出于车辆20等的安全性的考虑而防止外部攻击等引起的受害(损失)的手段进行说明。

图5B是本发明的实施例3中的车辆20和监视服务器10的功能构成例的示意图。图5B中,监视服务器10除了图5A所示的日志接收部151、图结构生成部152及追踪部153之外,还具有动作禁止部154。动作禁止部154也可藉由监视服务器10中安装的一个以上的程序使CPU104执行的处理而实现。

车辆20中的监视部251、异常判定部252及日志发送部253的处理与实施例2中的监视部251、异常判定部252及日志发送部253的处理相同。

监视服务器10中的日志接收部151、图结构生成部152及追踪部153的处理与实施例2中的日志接收部151、图结构生成部152及追踪部153的处理相同。

动作禁止部154可禁止针对由追踪部153确定的影响范围内的对象的动作,以防止受害的扩大。例如,在为基于Linux的系统的情况下,动作禁止部154可通过AppArmor执行禁止访问对象的控制。

需要说明的是,图5B示出了监视服务器10包含动作禁止部154的例子,但动作禁止部154也可包含在车辆20内。

(具体示例)

下面对图5B所示的功能构成例中由车辆20的信息类子系统220和监视服务器10执行的处理步骤进行说明。图6是用于对日志生成时的处理步骤的一例进行说明的流程图。

首先,车辆20的监视部251获取从作为监视对象的装置输出的日志(S101)。例如,监视部251可按照一定的周期或在发生了特定事件等的时点藉由使用Linux的SystemTap或BSD的DTrace等来获取日志。取决于作为监视对象的装置,获取日志的时机也不相同。

对监视部251响应于车辆20内所执行的处理来获取日志的具体例子进行说明。

图7A和图7B是表示正常时所执行的处理的一例的时序图。图7A和图7B中,OTA B.(Over The Air Backend)是位于车外的服务提供服务器30的一个,具有可向车辆20提供更新软件的功能。TCU(Telematics Control Unit)是信息类子系统220的功能部,具有用于与服务提供服务器30进行通信的功能。FG(Flashing Gateway)是信息类子系统220或控制系子系统230的功能部,具有可对从OTA B.接收到的软件进行临时保存的功能。CTL(Controller)与网关240相对应,具有可对从OTA B.接收到的软件进行更新的功能(OTA)。UI(User Interface)是操作面板等,与信息类子系统220的显示装置224和输入装置225相对应。ECU2与微机231相对应。假定不能从ECU2获取日志。还假定当进行控制系子系统230中的CAN通信时,CTL使用CAN-ID1,ECU2使用CAN-ID2。

TCU按照一定的周期或在发生了特定事件等的时点,向OTA B.确认车辆20内是否具有应进行更新的固件(t1.1)。在具有应进行更新的固件的情况下,TCU向OTA B请求新固件的更新文件(t1.2)。在TCU接收到了更新文件的情况下,将更新文件保存至FG(t1.3)。

CTL按照一定的周期或在发生了特定事件等的时点,向FG确认CTL中是否具有应更新的固件,在存在应更新的固件的情况下,从FG获取新固件的更新文件(t2.1)。CTL使用更新文件对CTL的固件进行更新(t2.2),然后CTL进行再起动,以使更新后的固件有效(t2.3)。

在UI接收到来自驾驶员等的针对ECU2的操作命令的情况下,UI将表示操作命令的消息(message)发送至CTL(t3.1)。CTL向来自TCU的消息赋予CAN-ID1,并将其中继给ECU2(t3.2)。ECU2确认赋予给消息的CTL的ID即CAN-ID1,并执行与接收到的消息相应的动作。

t1.1~t1.3中的更新文件的下载、t2.1~t2.3中的固件的更新、及t3.1~t3.2中的向ECU2的操作在不同的时点执行,时间上不连续。

图8是在图7A和图7B的时序中由监视部251获取的日志的一例的示意图。监视部251将TCU、CTL及UI的装置作为对象,并执行Linux的SystemTap、BSD的DTrace等,由此获取包含日期和时间、装置、进程、SRC、DST及动作的日志。日期和时间是装置内进程的执行的日期和时间。装置是监视对象的装置,进程是监视对象的装置内所执行的进程。SRC是进程的控制源的对象,DST是进程的控制目标的对象。动作是针对对象所执行的操作。

图8的第1行的日志与图7A中的t1.1相对应。在t1.1的日期和时间,获取当藉由TCU的进程(tcu pid1)从发送源地址(IP:ip1:port1)向目标地址(IP:ota_ip:80)执行确认是否存在应进行更新的固件的动作(http://ota_ip/info)时的日志。同样,在t1.2的日期和时间,获取当TCU执行请求更新文件的动作时的日志,并且在t1.3的日期和时间,获取当TCU执行将更新文件保存至FG的动作时的日志。「-」是日志中无法获得的项目。

图8的第4行的日志与图7A中的t2.1相对应。在t2.1的日期和时间,获取当CTL藉由OTA功能的进程(ota pid1)执行从更新文件的提供处(FG:FirmwareCTL)获取新固件的更新文件的动作(file:read)时的日志。同样,在t2.2的日期和时间,获取当CTL执行固件更新动作时的日志,在t2.3的日期和时间,获取当CTL执行结束本身的进程的动作时的日志以及当CTL执行开始本身的进程的动作时的日志。

图8的第8行的日志与图7B中的t3.1相对应。在t3.1的日期和时间,获取当UI藉由UI的进程(ui pid1)执行向控制目标的CTL(CAN:ID1)发送CAN通信的消息的动作(CAN)时的日志。同样,在t3.2的日期和时间,获取当CTL执行将消息发送给ECU2的动作时的日志。

图9A和图9B是对发生外部攻击时所执行的处理的一例进行表示的时序图。图9A和图9B是感染了恶意软件时的时序图,Mal CTL表示感染了恶意软件的网关240。C&C(Commandand Control)是实施非法(不正当)操作的服务器。

TCU的浏览器访问例如伪装成了贩卖店·代理店·加油站的热点等的假网站(t1.1)。向假网站的访问导致攻击脚本程序被发送给TCU。攻击脚本程序利用TCU的脆弱性(漏洞)进行篡改,以使浏览器可执行任意代码。浏览器向假网站请求恶意软件(t1.2)。在TCU接收到恶意软件的情况下,对恶意软件进行保存(t1.3),并执行恶意软件(t1.4)。恶意软件利用TCU的脆弱性,使安全功能无效,并对恶意软件的权限进行提升。恶意软件请求CTL的固件的篡改文件(t1.5),当接收到了篡改文件时,将篡改文件保存至FG(t1.6)。

CTL按照一定的周期或在发生了特定事件等的时点,向FG进行CTL中是否具有应进行更新的固件进行确认,在存在应进行更新的固件的情况下,从FG获取新固件的更新文件(t2.1)。此情况下可获得篡改文件。然后,CTL利用篡改文件对CTL的固件进行更新(t2.2),并进行CTL的再起动,以使更新后的固件有效(t2.3)。其结果为,CTL被恶意软件感染,并被篡改为可向来自CTL的消息赋予任意的ID。

TCU内的恶意软件向C&C请求非法命令(t3.1),并从C&C接收非法命令。TCU将表示非法命令中所含的操作命令的消息发送给Mal CTL(t3.2)。由于Mal CTL已被篡改可向消息中赋予任意的ID,所以可将非法ID即CAN-ID2赋予至消息。Mal CTL为了伪装成ECU2,向来自TCU上的恶意软件的消息赋予CAN-ID2,并对其进行中继(t3.3)。ECU2确认消息中被赋予了的ID即CAN-ID2,并进行与所接收的消息相应的动作。这里,假设出于t3.3时的消息的发送偏离了正常发送定时等的理由,IDS检测到了异常。

t1.1~t1.6的篡改文件的下载、t2.1~t2.3的固件的更新、以及t3.1~t3.3的向ECU2的操作在不同的时点实施,时间上不连续。

图10是在图9A和图9B的时序中由监视部251获取的日志的一例的示意图。监视部251与图8同样地获取日志。

图10的第1行的日志与图9A中的t1.1相对应。在t1.1的日期和时间,获取当TCU藉由浏览器的进程(browser pid1)执行从发送源地址(IP:ip1:port1)向目标地址(IP:ip2:80)进行访问的动作(http://ip2/info)时的日志。同样,在t1.2的日期和时间,获取当TCU执行请求恶意软件的动作时的日志,在t1.3的日期和时间,获取当TCU执行对恶意软件进行保存的动作时的日志,在t1.4的日期和时间,获取当TCU执行对恶意软件进行执行的动作时的日志,在t1.5的日期和时间,获取当TCU执行对篡改文件进行请求的动作时的日志,在t1.6的日期和时间,获取当TCU执行将篡改文件保存至FG的动作时的日志。

图10的第7行的日志与图9A中的t2.1相对应。在t2.1的日期和时间,获取当CTL藉由OTA功能的进程(ota pid3)执行从更新文件的提供处(FG:FirmwareCTL)获取新固件的更新文件的动作(file:read)时的日志。同样,在t2.2的日期和时间,获取当CT执行固件更新动作时的日志,在t2.3的日期和时间,获取当CTL执行使本身的进程结束的动作以及当CTL执行使本身的进程开始的动作时的日志。

图10的第11行的日志与图9B中的t3.1相对应。在t3.1的日期和时间,获取当TCU通过恶意软件的进程(malware pid2)执行从发送源地址(IP:ip1:port4)向目标地址(IP:ip3:443)请求非法命令的动作(https://ip3/command)时的日志。同样,在t3.2的日期和时间,获取当TCU执行将操作命令发送至CTL的动作时的日志,在t3.3的日期和时间,获取当CTL执行将消息发送给ECU2的动作时的日志。

需要说明的是,除了基于IDS的异常检测之外,异常判定部252通过对日志进行确认也可对异常进行检测。异常的检测可使用公知技术。例如,异常判定部252在存在不可能存在的从SRC至DST的动作的情况下和/或在不处于DST可执行动作的状态的情况下可判断为是异常。另外,例如异常判定部252通过对日志的日期和时间进行确认,当发现动作在异常时点被执行了的情况下,也可判断为是异常。

日志保存在日志管理DB271内,日志发送部253可将日志管理DB271中保存的日志发送至监视服务器10。被检测出了异常的t3.3的日期和时间的日志可被赋予表示是异常的标志(flag)。另外,异常也可在与日志不同的时点而被通知给监视服务器10。

日志接收部151接收日志,并将日志存储在日志管理DB171中。日志管理DB171中也可存储:在t3.3的日期和时间被赋予了CAN-ID2的消息的异常被检测出来了。

图结构生成部152从日志管理DB171内存储的日志中提取日期和时间较近的日志,并生成表示进程和对象之间的关联的图结构(S102)。例如,根据图10所示的日志,可使用二部图等来对进程和对象之间的关联进行表示。

图11是图结构的一例的示意图。图结构生成部152原则上执行将DST作为对象并与进程的关联,由此生成二部图。图结构生成部152根据图10的t1.1的日期和时间的日志,生成表示浏览器的进程(browser pid1)和表示假网站的地址的对象(IP:ip2:80)之间的关联的图结构。与t1.1同样,图结构生成部152根据t1.2~t1.6的日期和时间的日志生成图结构。需要说明的是,在t1.4的日期和时间的动作(proc:fork-exec)的情况下,也将DST(malware pid2)作为进程,并将SRC(FILE:malware hash1)作为对象来进行处理,并使SRC的对象与两个进程(browser pid1和malware pid2)相关联。

此外,图结构生成部152根据t2.1~t2.3的日期和时间的日志生成图结构。但是,在t2.2的日期和时间的动作(CAN:update)的情况下,图结构生成部152无法从日志获地固件的更新文件的信息。这样,为了应对不能获得足够的日志的情况,可在捆绑信息DB273中对预先已经知道了对象和进程之间的关联的捆绑信息进行管理。

图12是捆绑信息的一例的示意图。捆绑信息DB273中管理的捆绑信息是事先已经知道了的对象和进程之间的关联。例如,由于CTL的固件的更新文件与CTL的进程相关,所以可将FG:FirmwareCTL的对象和CTL的进程之间的关联保存在捆绑信息DB273中。同样,由于FILE:ctl的对象与CTL的OTA功能的进程相关,所以可将这些关联保存在捆绑DB273内。例如,CTL、ECU等的装置进行CAN通信所使用的CAN-ID是事先已经知道的,在该例子的情况下,CTL使用CAN:ID1,ECU2使用CAN:ID2,所以可将CAN:ID1的对象和CTL的进程之间的关联保存在捆绑信息DB273中,并可将CAN:ID2的对象和ECU2的进程之间的关联保存在捆绑信息DB273内。需要说明的是,由于无法获取ECU2的日志,所以也可在捆绑信息DB273中保存ECU2的装置名,以取代ECU2的进程。

在t2.2的日期和时间的动作(proc:update)的情况下,图结构生成部152使用捆绑信息DB273的捆绑信息,以取代使用日志,由此使ota pid3的进程与FILE:ctl的对象相关联。另外,图结构生成部152在t2.3的日期和时间的动作(proc:start)的情况下使CTL的进程(ctl pid5)与SRC的对象(FILE:ctl hash3)相关联。这样,取决于日志的动作,图结构生成部152可使用捆绑信息DB273进行进程和对象的关联,也可将SRC作为对象而与进程进行关联。

此外,图结构生成部152根据t3.1~t3.3的日期和时间的日志生成图结构。在t3.3的日期和时间,图结构生成部152使用捆绑信息DB273的捆绑信息将SRC的对象(CAN:ID2)与ECU2的进程相关联。这样,在存在可使用捆绑信息DB273中的捆绑信息进行关联的对象和进程的情况下,图结构生成部152可使用捆绑信息将图结构补全。

根据t1.1~t3.3的日期和时间的日志,生成图11所示的二部图。二部图的顶点为进程或对象,边为进程和对象之间的关联。图11中的实线的关联是基于日志而生成的,虚线的关联是基于捆绑信息DB273中的捆绑信息而生成的。所生成的二部图被保存在图管理DB172中。

需要说明的是,不仅是根据实际的日志所生成的图,也可将表示出于规格或安全上的理由而不可能存在的路径的图结构作为黑名单而登记在图管理DB172中,还可将表示由规格所规定的路径的图结构作为白名单而登记在图管理DB172中。

追踪部153在检测了到某对象中的异常的情况下(S103:Yes),结合图管理DB172中保存的图结构,对与检测到了异常的对象相关的异常进程进行确定。此外,追踪部153还对与所确定的异常进程相关的对象进行确定(S104)。

例如,在检测到被赋予了CAN-ID2的消息的异常的情况下,追踪部153从图管理DB172中提取将CAN:ID2作为顶点的图,然后再提取具有所提取的图的顶点(malware pid2、ctl pid5、ECU2)的图。藉由同样的步骤,提取与CAN:ID2直接或间接相连的图,并对所提取的图进行结合。

图13是图结构的结合例的示意图。如图11所示,由于存在将与检测到了异常的对象(CAN:ID2)相关的进程(malware pid2)作为顶点的两个二部图,所以这两个二部图被进行了结合。同样,将与检测到了异常的对象(CAN:ID2)相关的进程(ctl pid5)作为顶点的两个二部图也被被进行了结合。其结果为,从图13可确认到,检测到了异常的对象(CAN-ID2)的影响范围为5个进程(browser pid1、malware pid2、ota pid3、ctl pid5、ECU2的进程)和6个对象(IP:ip2:80、FILE:malware hash1、FG:FirmwareCTL hash2、FILE:ctl hash3、IP:ip3:443、CAN:ID2)。

需要说明的是,追踪部153即使在没有检测到异常的情况下也可将正常时的图结构与发生外部攻击时的图结构进行比较以检测异常。另外,追踪部153还可通过与图管理DB172中作为黑名单或白名单而登记的图结构进行比较来检测异常。

图14A是表示正常时的图结构的图,图14B是发生外部攻击时的图结构的示意图。正常时的图结构是对根据图8的t1.1~t2.3的日期和时间的日志由图结构生成部152生成的二部图进行结合后的图结构。发生外部攻击时的图结构是对根据图10的t1.1~t2.3的日期和时间的日志由图结构生成部152生成的二部图进行结合后的图结构。对这两个图进行比较可知,由于存在外部攻击时和正常时都不存在的进程(malware pid2)和对象(FILE:malware hash1),所以可判断为存在外部攻击的可能性。在确定了存在外部攻击的可能性的进程(malware pid2)和对象(FILE:malware hash1)的情况下,追踪部153可参照图13如上所述地确定外部攻击的影响范围。

动作禁止部154禁止针对由追踪部153确定的影响范围内的对象的动作(S105)。例如,如图13所示,在对二部图进行结合进而确定了影响范围内的6个的对象(IP:ip2:80、FILE:malware hash1、FG:FirmwareCTL hash2、FILE:ctl hash3、IP:ip3:443、CAN:ID2)的情况下,动作禁止部154对针对这6个对象的动作进行禁止。

此外,对监视部251响应于车辆20内所执行的处理而获取日志的具体例子进行说明。

图15是对发生故障时所执行的处理的一例进行表示的时序图。图15示出了接续图7B或图9B所示的时序图的处理。

假设ECU2中发生故障时ECU2的动作被切换至其它ECU(t4.1)。此时,ECU2将CAN-ID2赋予给消息,并将其发送至其它ECU(t4.2)。这里,在出于其它ECU的状态的不一致、从ECU2发送至其它ECU的消息的发送时点偏离了正常发送定时等的原因导致IDS检测到了异常的情况下,ECU2将故障代码与CAN-ID2一起发送至CTL(t4.3)。CTL接收到故障代码后,将故障代码与CAN-ID1一起发送给UI(t4.4)。UI接收到故障代码后,故障警告灯亮灯(t4.5)。

图16是在图15的时序中由监视部251获取的日志的一例的示意图。监视部251与图8同样地获取日志。

图16的第1行的日志与图15中的t4.2相对应。需要说明的是,由于不能从ECU2获得日志,所以与t4.1相对应的日志不存在。在t4.2的日期和时间,获取当藉由ECU2的进程执行进行ECU2(CAN:ID2)的故障检测的动作时的日志。同样,在t4.3的日期和时间,获取当CTL执行对故障代码进行接收的动作时的日志,在t4.4的日期和时间,获取当CTL执行对故障代码进行发送的动作时的日志。需要说明的是,为了对t4.3的日志和t4.4的日志进行区别,尽管t4.3的日志相当于当ECU2执行对故障代码进行发送的动作时的日志,但将发送源的CAN:ID2作为DST而进行处理。

如参照图11~图13而说明的那样,图结构生成部152可生成表示进程和对象之间的关联的图结构。

图17A是常规故障时的图结构的示意图,图17B是发生外部攻击时的图结构的示意图。常规故障时的图结构是当接续图7B所示的时序而发生图15所示的时序时的图结构,发生外部攻击时的图结构是当接续图9B所示的时序而发生图15所示的时序时的图结构。对这两个图进行比较可知,由于存在外部攻击时和常规故障时都不存在的进程(malware pid2)和对象(IP:ip3:443),所以可检测出存在外部攻击的可能性。另外还可知,当发生外部攻击时,存在用于与外部环境连接的对象(IP:ip3:443),而当发生常规故障时,不存在用于与外部环境连接的对象。这样,在存在用于与未知的外部环境连接的对象的情况下,追踪部153可判断为故障是由外部攻击而引起发生的。

需要说明的是,在图15所示的例子中,示出了UI中使故障警告灯点亮的例子,但也存在故障代码经由TCU而发送至经销商等的情况。此情况下,即使是常规故障发生时,也存在用于与外部环境连接的对象。追踪部153通过参照针对通信地址而预先设定的白名单或黑名单,也可判断故障是否是由外部攻击而引起的。另外,追踪部153根据路径的顺序,例如在异常的检测之前的时刻的路径上存在外部地址的情况下,也可判断攻击是由外部攻击而引起的。

这样,在本实施方式中,基于日志可将进程和对象之间的关联表示为图结构。图结构也可用于异常的检测。在某事件被指定了的情况下(例如,在异常被检测到了的情况下),利用图结构,可确定被指定的事件的影响范围、即、进程和与该进程相关的对象。

需要说明的是,本实施方式中,将车辆20作为设备的一例而进行了说明,但本实施方式也可应用于具有通信功能的其它设备。例如,就工厂中的机器人等的工业用控制设备、配置在各个位置处的传感器、音响设备、家电产品、通信终端(智能手机、平板终端等)以及一般被称为IoT(Internet of Things)设备的设备而言,都可应用本实施方式。

如上所述,根据本实施方式,可利用图结构来确定异常的影响范围,据此可有效地对异常进行分析。

另外,通过使用基于日志而生成的图结构和/或作为白名单或黑名单而登记的图结构,可进行异常的检测。

此外,通过在进行异常的影响范围的确定时使用图结构,能够判断异常是由外部攻击引起的还是由内部故障引起的。

另外,在能够确定到异常的影响范围的情况下,通过对针对该范围内的对象的动作进行禁止,可防止由于外部攻击而引起的受害(损失)的扩大。

需要说明的是,本实施方式中,车辆20是设备的一例。监视服务器10是信息处理装置的一例。图结构生成部152是生成部的一例。追踪部153是确定部的一例。动作禁止部154是禁止部的一例。

以上对本发明的实施方式进行了详述,但本发明并不限定于这些特定的实施方式,在权利要求书记载的本发明的主旨的范围内还可进行各种各样的变形和变更。

本国际申请主张基于2018年10月11日申请的日本国专利申请第2018-192413号的优先权,并将2018-192413号的内容全部援引于本国际申请。

[附图标记说明]

10 监视服务器

20 车辆

30a 服务提供服务器

30b 服务提供服务器

100 驱动装置

101 记录介质

102 辅助存储装置

103 存储装置

104 CPU

105 接口装置

151 日志接收部

152 图结构生成部

153 追踪部

154 动作禁止部

171 日志管理DB

172 图管理DB

173 捆绑信息DB

210 通信装置

221 CPU

222 存储装置

223 辅助存储装置

224 显示装置

225 输入装置

220 信息类子系统

230 控制系子系统

231 微机

240 网关

251 监视部

252 异常判定部

253 日志发送部

254 图结构生成部

255 追踪部

256 动作禁止部

271 日志管理DB

272 图管理DB

273 捆绑信息DB

B 总线



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3